package com.zdkj.subway.rca.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zdkj.subway.rca.dto.in.SwCkStationDailyReportQueryDTO;
import com.zdkj.subway.rca.entity.SwCkStationDailyReportAdjust;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;


/**
 * 报表调账-西安地铁收入日报表调账表
 *
 * @author stw
 * @date 2020-11-04 18:35:04
 */
public interface SwCkStationDailyReportAdjustMapper extends BaseMapper<SwCkStationDailyReportAdjust> {

    Map<String, Long> getTvmOneTicketCash(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getTvmOneTicketAlipay(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getTvmOneTicketWechat(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getTvmOneTicketBank(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getBomOneTicketCash(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getBomOneTicketAlipay(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getBomOneTicketWechat(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getPrefabricatedTicketAmount(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getEmergencyTicketAmount(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getTicketCounting(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getDailyTicketCash(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getDailyTicketAlipay(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getDailyTicketWechat(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getDailyTicketCat(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getCommemorativeTicketCash(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getCommemorativeTicketAlipay(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getCommemorativeTicketWechat(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getAppCommemorativeTicket(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getCatTicketCash(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getCatTicketAlipay(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getCatTicketWechat(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getCatTicketItvmCash(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getCatTicketItvmAlipay(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getCatTicketItvmWechat(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getCatTicketItvmBank(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getOnlineTicketSales(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getQrCodeTicket(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getFaceRecognitionTicketBank(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getStationCompensation(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, Long> getBankCashPaymentNote(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, BigDecimal> getCatTicketPayCardSum(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    Map<String, BigDecimal> getAllOneTrafficCardSum(SwCkStationDailyReportAdjust swCkStationDailyReportAdjust);

    List<SwCkStationDailyReportAdjust> listSwCkStationDailyReportAdjust(SwCkStationDailyReportQueryDTO dto);

    List<Map<String, String>> selectStationMap();

    List<Map<String, String>> selectLineMap();

    IPage<List<SwCkStationDailyReportAdjust>> listQuerySwCkStationDailyReportAdjust(@Param("page") Page page, @Param("dto") SwCkStationDailyReportQueryDTO dto);

    List<SwCkStationDailyReportAdjust> listSwCkStationDailyReportAdjustOrDate(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("lineCodes") String lineCodes , @Param("flag") String flag);

    List<SwCkStationDailyReportAdjust> listSwCkStationDailyReportAdjustOrStation(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("lineCodes") String lineCodes , @Param("flag") String flag);

	List<SwCkStationDailyReportAdjust> listSwCkStationDailyReportAdjustOrStationTotal(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("lineCodes") String lineCodes , @Param("flag") String flag);

}
